“Web Services” is a mechanism being promoted by the computer industry for enabling dynamic business-to-business integration. For example, Web Services technology enables an enterprise to electronically integrate their supply chain management (SCM) system with the SCM systems of their part suppliers, allowing real-time optimization of the supply chain in response to dynamic demand and supply fluctuations.
A Web Service interaction generally involves execution of logic at two endpoints, both of which is performed by a computer: the server that hosts the service logic, and the client that hosts the application invoking the Web Service. Because the endpoints of a Web Service are typically separated by a network, the Web Service mechanism is designed to work independently of the “container” that hosts the execution at each endpoint. Most container implementations support widely accepted Web Services open-standard protocols such as Simple Object Access Protocol (SOAP) and eXtensible Markup Language (XML), which are helpful in making this independence possible. The Web Service mechanism in this example includes the service logic and application, which are each created to use its respective container. Each container supports the Web Services open-standard protocols so that the service logic and application do not need to be designed to support the open-standard protocols and, instead, are designed to perform whatever business service is being transacted.
Certain open-standard protocols, like SOAP, define aspects of communication over networks, such as how messages are constructed and interpreted. A benefit to this is that each container can be made by a different manufacturer, as each container still “speaks” the same “language” defined by the open-standard protocols being used to communicate.
Nonetheless, communicating through open-standard protocols also limits containers in what can be communicated. For instance, the containers can be considered to be loosely “coupled” because the open-standard protocols limit the containers to messages having generally restrictive formats and allowing only particular contained information. Information specific to a container generally is converted to a less convenient format or even ignored. Basically, data that is communicated between two containers on two different computers has to be made to fit the messages defined by the open-standard protocol. Consequently, it would be beneficial to provide communication techniques that are not so limiting and provide better coupling between containers that communicate over networks.